﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using ResourcesLibrary.Properties;
using KpBusiness.Model;
using System.ComponentModel;
using DataAnnotationsExtensions;

   
namespace KpBusiness.Model
{
    public class Candidate : Person
    {

        [DisplayName("Date Of Birth")]
        [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
        [Required(ErrorMessage="Please Provide Date Of Birth")] 
         public virtual DateTime Dob { get; set; }


        [DisplayName("Current Salary")]
        [Range(0, 9999999, ErrorMessage = "You Have Crossed Max Limit ")] 
        [Required(ErrorMessage="Please Provide Current Salary")]
        public virtual float CurrentCtc { get; set; }

        [DisplayName("Expected Salary")]
        [Range(0, 9999999, ErrorMessage = "You Have Crossed Max Limit ")] 
        
        [Required(ErrorMessage = "Please Provide Expected Salary")]
         public virtual float ExpectedCtc { get; set; }

 
        [DisplayName("Current Location")]
        [StringLength(20, ErrorMessage = "You Have Crossed Max Limit ")] 
        [Required(ErrorMessage="Please Provide Current Location")]
        public virtual string CurrentLocation { get; set; }

        [DisplayName("Expected Location")]
        [StringLength(20, ErrorMessage = "You Have Crossed Max Limit ")] 
        [Required(ErrorMessage="Please Provide Expected Location")]
        public virtual string ExpectedLocation { get; set; }

        [DisplayName("Years Of Experience")]
        //[StringLength(10, ErrorMessage = "You Have Crossed Max Limit ")] 
        [Required(ErrorMessage = "Please Provide Experience")]
        public virtual float YearsOfExp { get; set; }

        [DisplayName("Skills")]
        [StringLength(100, ErrorMessage = "You Have Crossed Max Limit ")] 
        [Required(ErrorMessage = "Please Provide Skills")]
        public virtual string Skills { get; set; }

        [DisplayName("Designation")]
        [StringLength(50, ErrorMessage = "You Have Crossed Max Limit ")] 
        [Required(ErrorMessage = "Please Provide Designation")]
        public virtual string Designation { get; set; }

        [DisplayName("Current Company Name")]
        [StringLength(50, ErrorMessage = "You Have Crossed Max Limit ")] 
        [Required(ErrorMessage = "Please Provide Current Company Name")]
        public virtual string CurrentCompanyName { get; set; }


        public virtual bool IsHrResumeUploaded { get; set; }
        public virtual bool IsResumeUploaded { get; set; }
        public virtual bool IsOfferUploaded { get; set; }

        public virtual Guid HrFileId { get; set; }
        public virtual Guid FileId { get; set; }
        public virtual Guid OfferId { get; set; }

        public virtual string FileExt { get; set; }
        public virtual string HrFileExt { get; set; }
        public virtual string OfferFileExt { get; set; }
        
        public virtual bool IsPosted { get; set; }
        public virtual bool IsLocked { get; set; }

        public virtual bool IsBlackListed { get; set; }
        public virtual string CommentAboutBlackListingEvent { get; set; }

    }
}    

        